#!/bin/bash
### BEGIN INIT INFO
# Provides: hmcConfig
# Required-Start: $local_fs
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Provide HMC Configuration setup
# Description: Query VPD to determine configuration of HMC
### END INIT INFO


x=`type -p java 2>/dev/null`
if [ "$x" != "" ]
then
    JAVAPATH=`/usr/bin/dirname $x`
fi
# Source function library.
. /etc/rc.status
rc_reset

case "$1" in
    start)
        mount /mnt/upgrade
        if [ -f /mnt/upgrade/doRestore ]
        then
            if [ -f /mnt/upgrade/SaveHSCSystemUpgradeData.tar ]
            then
                cd /
                tar -xf/mnt/upgrade/SaveHSCSystemUpgradeData.tar /var/hsc/tmp/cimomcfg.properties.reboot
            fi
        fi
        umount /mnt/upgrade
        if [ -f /var/hsc/tmp/cimomcfg.properties.reboot ]
        then
            sed -e '/^ *SocketProvider *=/d' /opt/hsc/data/cim.properties > /tmp/_cimomcfg.tmp
            cat /tmp/_cimomcfg.tmp /var/hsc/tmp/cimomcfg.properties.reboot > /opt/hsc/data/cim.properties
            rm -f /tmp/_cimomcfg.tmp
            rm -f /var/hsc/tmp/cimomcfg.properties.reboot
        fi

        if [ -f /opt/hsc/data/pendingUpdate ]
        then
            if [ -f /console/HSC/finishUpdate ]
            then
                echo >>/dev/console
                echo -n $"   Completing Installation/Update...." >>/dev/console
                /console/HSC/finishUpdate /console/HSC
                if [ $? -eq 0 ]
                then
                    rm -rf /console/HSC/*
                    rm /opt/hsc/data/pendingUpdate
                fi
            fi
        fi

        if [ -f /opt/hsc/data/hmcConfigured ]
        then
            exit 0
        fi
        echo -n "Querying vital product data"

        cmodel=`cat /opt/hsc/data/hmcmodel.dat`
        export LD_LIBRARY_PATH=/usr/lib:/opt/hsc/lib:$LD_LIBRARY_PATH
        CLASSPATH=/usr/websm/codebase/pluginjars/ccfw.jar:/usr/websm/codebase/pluginjars/auifw.jar:/opt/hsc/:/usr/websm/codebase/pluginjars/hsc.jar:/usr/websm/codebase/pluginjars/sniacimom.jar:/usr/websm/codebase/pluginjars/xerces.jar:/usr/websm/codebase/wsm.jar:/usr/websm/codebase/pluginjars/hsc.jar:$CLASSPATH
        export CLASSPATH
        export PATH=$JAVAPATH:$PATH

        x=`/opt/hsc/bin/getHMCVPD`
        if [ "$x" = "" ]
        then
            x=`cat /opt/hsc/data/hmcmodel.dat`
        fi
 
        case "$x" in
            7315C01)
                # 7315-C01 must be treated like 6792
                tar -xf /opt/hsc/data/6792.tar
                ;;
            6792*)
                tar -xf /opt/hsc/data/6792.tar
                ;;
            6578* | 6579*)
                tar -xf /opt/hsc/data/6578.tar
                ;;
            *)
                tar -xf /opt/hsc/data/$x.tar
                ;;
        esac
        # Need to determine HMC VPD due to CIM jar files dependency
        hmcModel=`/opt/hsc/bin/getHMCVPD -a`
        if [ $? -eq 0 ]
        then
            grep HMC_MTMS /opt/hsc/data/hmcconfig.def 2>&1 1>>/dev/null
            if [ $? -eq 1 ]
            then
                echo "HMC_MTMS="$hmcModel >> /opt/hsc/data/hmcconfig.def
            else
                /bin/sed -e '/HMC_MTMS=*/d' /opt/hsc/data/hmcconfig.def >/tmp/saveConfig.def
                cp /tmp/saveConfig.def /opt/hsc/data/hmcconfig.def
                echo "HMC_MTMS="$hmcModel >> /opt/hsc/data/hmcconfig.def
                rm -f /tmp/saveConfig.def
            fi
        fi

        touch /opt/hsc/data/hmcConfigured
	rc_status -v
        ;;
     stop)
	rc_status -v
        ;;
     *)
        echo "Usage: hmcConfig {start|stop}"
        exit 1
        ;;
esac
rc_exit
exit 0

